/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.usc.cs576.mediaoctopusplayer.data;

import edu.usc.cs576.lib.MediaObject;
import edu.usc.cs576.lib.mediaObject.Audio;
import edu.usc.cs576.lib.mediaObject.Image;
import edu.usc.cs576.lib.mediaObject.Track;
import edu.usc.cs576.lib.mediaObject.Video;
import java.util.ArrayList;
import java.util.HashMap;
import javax.swing.JLabel;

/**
 *
 * @author haoxu
 */
public class Data {
//suppose there will be only one video in the scene

    private static Video video;
    //suppose there will be only one audio in the scene
    private static Audio audio;
    //this is the mapiing for many strings to different images in the scene
    private static ArrayList<Image> images;
    private static ArrayList<Track> tracks;
    private static HashMap<MediaObject, JLabel> display;
    private static HashMap<JLabel, MediaObject> data;

    public static Audio getAudio() {
        return audio;
    }

    public static void setAudio(Audio audio) {
        Data.audio = audio;
    }

    public static HashMap<JLabel, MediaObject> getData() {
        if (data == null) {
            data = new HashMap<JLabel, MediaObject>();
        }
        return data;
    }

    public static void setData(HashMap<JLabel, MediaObject> data) {
        Data.data = data;
    }

    public static HashMap<MediaObject, JLabel> getDisplay() {
        if (display == null) {
            display = new HashMap<MediaObject, JLabel>();
        }
        return display;
    }

    public static void setDisplay(HashMap<MediaObject, JLabel> display) {
        Data.display = display;
    }

    public static ArrayList<Image> getImages() {
        return images;
    }

    public static void setImages(ArrayList<Image> images) {
        Data.images = images;
    }

    public static Video getVideo() {
        return video;
    }

    public static void setVideo(Video video) {
        Data.video = video;
    }

    public static ArrayList<Track> getTracks() {
        return tracks;
    }

    public static void setTracks(ArrayList<Track> tracks) {
        Data.tracks = tracks;
    }
}
